#ifndef __SOKOBAN_SOUND_H
#define __SOKOBAN_SOUND_H

#define SOKOBAN_SOUND_MOVE (0)
#define SOKOBAN_SOUND_PUSH (1)
#define SOKOBAN_SOUND_CANT_MOVE (2)
#define SOKOBAN_SOUND_CONGRAT (3)
#define SOKOBAN_SOUND_KEY (4)



const char fx00[] PROGMEM ={
0,PC_WAVE,8,
0,PC_ENV_VOL,0xE0,
0,PC_PITCH,20,
1,PC_NOTE_CUT,0,
20,PC_ENV_VOL,0xE0,
20,PC_PITCH,20,
21,PC_NOTE_CUT,0,
0,PATCH_END
};

const char fx01[] PROGMEM ={
0,PC_NOISE_PARAMS,254,
0,PC_ENV_VOL,50,
1,PC_ENV_VOL,200,
2,PC_ENV_VOL,150,
3,PC_ENV_VOL,50,
4,PC_NOTE_CUT,0,
0,PATCH_END
};

const char fx02[] PROGMEM ={
0,PC_WAVE,8,
0,PC_ENV_VOL,0xFF,
0,PC_PITCH,50,
1,PC_PITCH,40,
3,PC_NOTE_CUT,0,
0,PATCH_END
};

const char fx03[] PROGMEM ={
0,PC_WAVE,7,
0,PC_PITCH,95,
2,PC_NOTE_DOWN,10,
2,PC_NOTE_DOWN,8,
2,PC_NOTE_DOWN,6,
2,PC_NOTE_DOWN,4,
2,PC_NOTE_DOWN,2,

0,PC_PITCH,66,
2,PC_NOTE_UP,5,
2,PC_NOTE_DOWN,2,
2,PC_NOTE_UP,5,

2,PC_NOTE_UP,5,
2,PC_NOTE_DOWN,2,
2,PC_NOTE_UP,5,

0,PC_ENV_SPEED,-8,

4,PC_NOTE_UP,5,
4,PC_NOTE_DOWN,5,
4,PC_NOTE_UP,5,
4,PC_NOTE_DOWN,5,
4,PC_NOTE_UP,5,
4,PC_NOTE_DOWN,5,
4,PC_NOTE_UP,5,
1,PC_NOTE_CUT,0,
0,PATCH_END
};

const char fx04[] PROGMEM ={
0,PC_WAVE,1,
0,PC_ENV_VOL,0xff,
0,PC_PITCH,100,
1,PC_NOTE_CUT,0,
0,PATCH_END
};

const struct PatchStruct sound_patches[] PROGMEM = {
{0,NULL,fx00,0,0},
{1,NULL,fx01,0,0},
{0,NULL,fx02,0,0},
{0,NULL,fx03,0,0},
{0,NULL,fx04,0,0},
};

#endif
